/**监听事件类 */
export class ListenerCenter {
    public constructor() {

    }

    /**快捷注册点击事件
     * @param listenerType:事件类型
     * @param listenerObj:监听的元素对象
     * @param listener:监听回调方法
     * @param param:回调方法需要的参数
     * 无论有无参数，都会在回调参数数组头部置入调用对象
    */
    public addEvent(listenerType: string, listenerObj: HTMLElement, listener: Function, ...param: any[]) {
        param.unshift(listenerObj);
        listenerObj.addEventListener(listenerType, listener.bind(listenerObj,param));
    }

    /**快捷移除事件
     * @param listenerType:事件类型
     * @param listenerObj:监听对象
     * @param listener:监听回调方法
     * @param param:回调方法需要的参数
    */
    public removeEvent(listenerType: string,listenerObj: HTMLElement, listener: Function,...param: any[]) {
        param.splice(0,param.length);
        param = null;
        listenerObj.removeEventListener(listenerType, listener.bind(listenerObj,null,null));
    }

    /**快捷注册*/

}